package auth

import "time"

// 菜单模型
type Menu struct {
	ID        int64     `gorm:"primaryKey" json:"id"`
	ParentID  int64     `gorm:"default:0" json:"parent_id"`
	Name      string    `gorm:"size:100" json:"name"`
	Path      string    `gorm:"size:255" json:"path"`
	Icon      string    `gorm:"size:64" json:"icon"`
	Sort      int       `gorm:"default:0" json:"sort"`
	Visible   int       `gorm:"default:1" json:"visible"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`

	// 子菜单列表（用于树形结构）
	Children []Menu `gorm:"-" json:"children,omitempty"`
}

func (m *Menu) TableName() string {
	return "menus"
}

// IsRoot 判断是否为根菜单
func (m *Menu) IsRoot() bool {
	return m.ParentID == 0
}
